#ifndef _H_PROMISE_DELEGATE_H_
#define _H_PROMISE_DELEGATE_H_

#include "../typedefine.h"
#ifdef _USING_CLI
#else
#include <functional>
#include <exception>
#endif

namespace TB
{
	template<typename T> struct SPromise;

	template<typename T, typename U>
	using DPromiseResolver = std::function<SPromise<T>(const U&)>;
	template<typename T>
	using DPromiseRejecter = std::function<SPromise<T>(const std::shared_ptr<std::exception>&)>;
}

#endif
